#ifndef __PARTICLE_HPP__
#define __PARTICLE_HPP__

#include "../Mathematics/MVector3D.hpp"
#include <time.h>

class Particle
{
public:
	Particle();
	Particle(MVector3D& dir, MVector3D& pos, float& lifeTime, float& vel, float& friction);
	Particle(MVector3D dir, MVector3D pos, float lifeTime, float vel, float friction);
	~Particle();

	void  SetDirection(MVector3D& dir);
	void  SetLifeTime(float& lifeTime);
	void  SetVelocity(float& vel);
	void  SetFriction(float& friction);

	void  Update(clock_t tick);
	void  Render();
	bool  IsParticleDead();

private:
	MVector3D  m_direction;
	MVector3D  m_position;
	float      m_lifeTime;
	float      m_velocity;
	float      m_friction;
	clock_t    m_lastTick;

};

#endif // __PARTICLE_HPP__